/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.tesoreria.beans;

import cip.util.ControladorAbstracto;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.cip.esymons.colegiatura.be.Colegiado;
import org.cip.esymons.general.be.Departamento;
import org.cip.esymons.general.be.DireccionPersona;
import org.cip.esymons.general.be.Distrito;
import org.cip.esymons.general.be.PersonaNatural;
import org.cip.esymons.general.be.Provincia;
import org.cip.esymons.general.be.Solicitante;
import org.cip.esymons.general.be.TipoZona;
import org.cip.esymons.general.util.FormatoExportacion;
import org.cip.esymons.general.util.Reporteador;
import org.cip.esymons.general.util.Utiles;
import org.cip.esymons.tesoreria.bc.BeneficiarioFondoMortuorioDelegate;
import org.cip.esymons.tesoreria.bc.ColegiadoDelegate;
import org.cip.esymons.tesoreria.bc.DireccionPersonaDelegateTesoreria;
import org.cip.esymons.tesoreria.bc.FondoMortuorioDelegate;
import org.cip.esymons.tesoreria.bc.PersonaNaturalDelegate;
import org.cip.esymons.tesoreria.be.BeneficiarioFondoMortuorio;
import org.cip.esymons.tesoreria.be.EnumBeneficioFondoMortuorio;
import org.cip.esymons.tesoreria.be.EnumEstadoBenefFondoMortuorio;
import org.cip.esymons.tesoreria.be.EnumEstadoFondoMortuorio;
import org.cip.esymons.tesoreria.be.EnumParentezcoBenefFondoMortuorio;
import org.cip.esymons.tesoreria.be.FondoMortuorio;

/**
 *
 * @author Ingrid Capuñay
 */
public class FondoMortuorioController extends ControladorAbstracto {

    private FondoMortuorioDelegate delegadoFondoMortuorio;
    private BeneficiarioFondoMortuorioDelegate delegadoBeneFondoMortu;
    private ColegiadoDelegate delegadoBuscarColegiado;
    private BeneficiarioFondoMortuorio beneficiarioFondoMortuorio;
    private FondoMortuorio fondoMortuorio;
    private EnumEstadoFondoMortuorio estadoSeleccionado;
    private String numCIPIngresado;
    private String numDNIIngresado;
    private EnumBeneficioFondoMortuorio formaBeneficioSeleccionado;
    private int tipoBusquedaDNIoCIP;
    private String dnioNroCipIngresado;
    private Colegiado colegiadoEncontrado;
    private PersonaNaturalDelegate delegadoPersonaNat;
    private PersonaNatural personaNatural;
//variables para agregarbeneficiario
    private String dniIngresado;
    private List<BeneficiarioFondoMortuorio> listaBeneficiarioFondoMortuorios;
    private List<BeneficiarioFondoMortuorio> listaTodosLosBeneficiarios;
    private boolean swAgregar = false;
    private boolean swAdicionar = false;
    private String filtroNombreColegiado;
    private PersonaNatural personaConDniEncontrado;
    private int tipoPersona = 0;
    private Boolean colegiadoTieneFondo=false;


    /*codigo agregado x Ingrid para registro de direccion de una persona natural nueva*/    
    private Distrito distritoCP;
    private TipoZona tipoZonaCP;
    private String nombreZonaCP;
    private String direccionCP;
    private DireccionPersona direccionPersona;
    private DireccionPersonaDelegateTesoreria delegadoDireccionPersona;    
    // fin de codigo


    


    public FondoMortuorioController() {
        delegadoFondoMortuorio = new FondoMortuorioDelegate();
        delegadoBeneFondoMortu = new BeneficiarioFondoMortuorioDelegate();
        delegadoPersonaNat = new PersonaNaturalDelegate();
        delegadoBuscarColegiado = new ColegiadoDelegate();
        colegiadoEncontrado = null;


        delegadoDireccionPersona=new DireccionPersonaDelegateTesoreria();

    }

    public SelectItem[] getEstadoFondoMortuorioItems() {
        try {
            SelectItem[] select = new SelectItem[EnumEstadoFondoMortuorio.values().length];
            int cont = 0;
            for (EnumEstadoFondoMortuorio e : EnumEstadoFondoMortuorio.values()) {
                select[cont] = new SelectItem(e, e.name());
                cont++;
            }
            return select;
        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            select[0] = new SelectItem(null, "No existen estados");
            return select;
        }
    }

    public SelectItem[] getEstadoBeneficiarioFondoMortuorioItems() {
        try {
            SelectItem[] select = new SelectItem[EnumEstadoBenefFondoMortuorio.values().length];
            int cont = 0;
            for (EnumEstadoBenefFondoMortuorio e : EnumEstadoBenefFondoMortuorio.values()) {
                select[cont] = new SelectItem(e, e.name());
                cont++;
            }
            return select;
        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            select[0] = new SelectItem(null, "No existen Estados");
            return select;
        }
    }

    public SelectItem[] getParentescoBeneficiarioFondoMortuorioItems() {
        try {
            SelectItem[] select = new SelectItem[EnumParentezcoBenefFondoMortuorio.values().length];
            int cont = 0;
            for (EnumParentezcoBenefFondoMortuorio e : EnumParentezcoBenefFondoMortuorio.values()) {
                select[cont] = new SelectItem(e, e.name());
                cont++;
            }
            return select;
        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            select[0] = new SelectItem(null, "No existen parentescos");
            return select;
        }
    }

    public SelectItem[] getFormasBeneficioFondoMortuorioItems() {
        try {
            SelectItem[] select = new SelectItem[EnumBeneficioFondoMortuorio.values().length];
            int cont = 0;
            for (EnumBeneficioFondoMortuorio e : EnumBeneficioFondoMortuorio.values()) {
                select[cont] = new SelectItem(e, e.name());
                cont++;
            }
            return select;
        } catch (Exception ex) {
            SelectItem[] select = new SelectItem[1];
            select[0] = new SelectItem(null, "No existen Formas de Beneficio");
            return select;
        }
    }

    public List<FondoMortuorio> getListaFondosMortuoriosVigentes() {
        return delegadoFondoMortuorio.fondosMortuoriosVigentes();
    }

    public List<BeneficiarioFondoMortuorio> getListaNuevosBeneficiariosProvisionales() {

        return listaBeneficiarioFondoMortuorios;
    }

    public List<BeneficiarioFondoMortuorio> getListaTodosBeneficiariosVigentesAnulados() {
        return delegadoBeneFondoMortu.beneficiariosVigentesyAnulados(fondoMortuorio);
    }    

    /**CODIGO DE REPORTES DE BENEFICIARIOS VIGENTES DEL FONDO MORTUORIO SELECCIONADO*/
    public String reporteBeneficiariosVigentesFondoMortuorio() throws SQLException {

            List<BeneficiarioFondoMortuorio> listaBenefFondo = delegadoBeneFondoMortu.beneficiariosVigentesSegunFondo(fondoMortuorio);
            if (listaBenefFondo != null) {
                if (listaBenefFondo.size() > 0) {
                    Reporteador reporteador = new Reporteador();
                    reporteador.exportarReporte("rptBenefFondoMortuorio", FormatoExportacion.pdf, listaBenefFondo, null);
                }else{
                    ControladorAbstracto.warn("El Fondo Mortuorio no tiene Beneficiarios a Mostrar");
                }
            }
            return null;
    }
    /**FIN DE CODIGO*/



    public List<BeneficiarioFondoMortuorio> getListaTodosBeneficiariosProvisionales() {
        return listaTodosLosBeneficiarios;
    }

    public List<FondoMortuorio> getListaTodosFondosMortuorios() {
        return delegadoFondoMortuorio.findAll();
    }

    public String agregarBeneficiario() {
        beneficiarioFondoMortuorio = new BeneficiarioFondoMortuorio();
        beneficiarioFondoMortuorio.setEstado(EnumEstadoBenefFondoMortuorio.Vigente);
        beneficiarioFondoMortuorio.setFechaRegistroBeneficio(new Date());
        swAgregar = true;
        return "pageAgregarBenef";
    }

    public String adicionarBeneficiario() {
        if (fondoMortuorio.getEstado().equals(EnumEstadoFondoMortuorio.Vigente)) {
            beneficiarioFondoMortuorio = new BeneficiarioFondoMortuorio();
            beneficiarioFondoMortuorio.setEstado(EnumEstadoBenefFondoMortuorio.Vigente);
            beneficiarioFondoMortuorio.setFechaRegistroBeneficio(new Date());
            swAdicionar = true;
            return "pageAgregarBenef";
        } else {
            ControladorAbstracto.info("El Fondo tiene que estar VIGENTE para Adicinar un Beneficiario.");
            return null;
        }
    }

    public boolean filtrarPorNombreColegiado(Object obj) {
        try {
            Colegiado co = (Colegiado) obj;
            if (co.getPersonaNatural().getNombreCompletoPersona().toLowerCase().indexOf(filtroNombreColegiado.toLowerCase()) >= 0) {
                return true;
            } else {
                return false;
            }
        } catch (Exception ex) {
            return true;
        }
    }

    public String grabarBeneficiario() {
        if (swAgregar == true && swAdicionar == false) {
            listaBeneficiarioFondoMortuorios.add(beneficiarioFondoMortuorio);
            swAgregar = false;
            return "pageNuevoFondo";
        } else if (swAdicionar == true && swAgregar == false) {
            boolean puedeAdicionarseBene = false;
            for (BeneficiarioFondoMortuorio b : listaTodosLosBeneficiarios) {
                if ((b.getPersonaBeneficiaria().equals(beneficiarioFondoMortuorio.getPersonaBeneficiaria()) && b.getEstado().equals(EnumEstadoBenefFondoMortuorio.Anulado)) ) {
                    puedeAdicionarseBene = true;
                }else{
                    if(!b.getPersonaBeneficiaria().equals(beneficiarioFondoMortuorio.getPersonaBeneficiaria())){
                        puedeAdicionarseBene = true;
                    }
                }
            }
            if (puedeAdicionarseBene == true) {
                listaTodosLosBeneficiarios.add(beneficiarioFondoMortuorio);
                swAdicionar = false;
                return "pageBenefDelColegiado";
            } else {
                ControladorAbstracto.info("El Beneficiario a adicionar ya está VIGENTE en el Fondo.");
                return null;
            }
        }
        return null;
    }

    public String verBeneficiariosRelacionados() {
        listaTodosLosBeneficiarios = new ArrayList();
        listaTodosLosBeneficiarios = delegadoBeneFondoMortu.beneficiariosVigentesyAnulados(fondoMortuorio);
        return "ver_beneficiarios";
    }

    public String actualizarFondo() {
        if (sumanCienBeneficiarios(listaTodosLosBeneficiarios) == 0) {
            for (BeneficiarioFondoMortuorio bene : listaTodosLosBeneficiarios) {
                boolean existeBene = false;
                BeneficiarioFondoMortuorio resBus = delegadoBeneFondoMortu.find(bene.getCodigo());
                if (resBus != null) {
                    existeBene = true;
                }
                if (existeBene) {
                    delegadoBeneFondoMortu.edit(bene);
                } else {
                    bene.setFondoMortuorio(fondoMortuorio);
                    delegadoBeneFondoMortu.create(bene);
                }
            }
        } else {
            if (sumanCienBeneficiarios(listaTodosLosBeneficiarios) == 1) {
                ControladorAbstracto.info("La suma del % Beneficio de los Beneficiarios Vigentes ha sobrepasado el 100%.");
                return null;
            } else {
                ControladorAbstracto.info("La suma del % Beneficio de los Beneficiarios Vigentes es menor que el 100%.");
                return null;
            }
        }
        ControladorAbstracto.info("Se actualizó exitosamente el Fondo del Colegiado.");
        return null;
    }

    public String anularBeneficiario() {
        beneficiarioFondoMortuorio.setEstado(EnumEstadoBenefFondoMortuorio.Anulado);
        beneficiarioFondoMortuorio.setFechaRetiroBeneficio(new Date());
        return null;
    }

    public String anularFondo() {
        fondoMortuorio.setEstado(EnumEstadoFondoMortuorio.Anulado);
        delegadoFondoMortuorio.edit(fondoMortuorio);
        return null;
    }

    public String nuevo() {
        fondoMortuorio = new FondoMortuorio();
        listaBeneficiarioFondoMortuorios = new ArrayList<BeneficiarioFondoMortuorio>();
        return "pageNuevo";
    }

    public int sumanCienBeneficiarios(List<BeneficiarioFondoMortuorio> lista) {
        double suma = 0;
        for (BeneficiarioFondoMortuorio bene : lista) {
            if (bene.getEstado().equals(EnumEstadoBenefFondoMortuorio.Vigente)) {
                suma += bene.getPorcentajeBeneficio();
            }
        }
        if (suma == 100) {
            return 0;
        } else {
            if (suma < 100) {
                return -1;
            } else {
                return 1;
            }
        }
    }
    public String grabar() {
        if (colegiadoEncontrado != null) {
            if(colegiadoTieneFondo==false){
                if (fondoMortuorio.getFormaBeneficio() != null) {
                    int tamLista = listaBeneficiarioFondoMortuorios.size();
                    if (tamLista > 0) {
                        if (sumanCienBeneficiarios(listaBeneficiarioFondoMortuorios) == 0) {
                            fondoMortuorio.setEstado(EnumEstadoFondoMortuorio.Vigente);
                            fondoMortuorio.setFonfechaRegistro(new Date());
                            fondoMortuorio.setColegiado(colegiadoEncontrado);
                            delegadoFondoMortuorio.create(fondoMortuorio);
                            for (BeneficiarioFondoMortuorio bene : listaBeneficiarioFondoMortuorios) {
                                bene.setFondoMortuorio(fondoMortuorio);
                                delegadoBeneFondoMortu.create(bene);
                            }
                        } else {
                            if (sumanCienBeneficiarios(listaBeneficiarioFondoMortuorios) == 1) {
                                ControladorAbstracto.info("La suma del % Beneficio ha sobrepasado el 100%.");
                                return null;
                            } else {
                                ControladorAbstracto.info("La suma del % Beneficio es menor que el 100%.");
                                return null;
                            }
                        }
                    } else {
                        ControladorAbstracto.info("No ha ingresado ningún Beneficiario para el Fondo.");
                        return null;
                    }
                } else {
                    ControladorAbstracto.info("Seleccione una Forma de Beneficio.");
                    return null;
                }
            }else{
                ControladorAbstracto.warn("No Puede Crear doble Fondo Mortuorio del Colegiado. Sólo puede agregar y quitar Beneficiarios");
                return null;
            }


        } else {
            ControladorAbstracto.info("Ingrese un Colegiado.");
            return null;
        }
        return "pageBuscar";
    }

    public String actualizar() {

        return "pageBuscar";
    }

    public String buscar() {
        return null;
    }

    public String buscarColegiado() {
        if (tipoBusquedaDNIoCIP == 0) { /*CIP*/
            String cipColeFondo=Utiles.devuelveCipCompleto(dnioNroCipIngresado);
            colegiadoEncontrado = delegadoBuscarColegiado.buscarColegiadoXCip(cipColeFondo);
            
        } else {/*DNI*/
            colegiadoEncontrado = delegadoBuscarColegiado.buscarColegiadoXDni(dnioNroCipIngresado);
        }
        if (colegiadoEncontrado!=null){
                FondoMortuorio fm=delegadoFondoMortuorio.buscarFondoExistente(colegiadoEncontrado);
                if (fm!=null){
                        colegiadoTieneFondo=true;
                        ControladorAbstracto.warn("Colegiado ya Tiene Fondo Creado");
                }
        }
        return null;
    }

    public String buscarPersona() {
        beneficiarioFondoMortuorio.setPersonaBeneficiaria(delegadoPersonaNat.buscarXDni(dniIngresado));
        return null;
    }

     public String busquedaAvanzadaPersona() {
        BusquedaPersonasController bpc = (BusquedaPersonasController) getBean("busquedaPersonasController");
        bpc.setControladorSolicitante(5); //fondo mortuorio page: agregarBeneficiario
        bpc.setComboTipoHabilitado(false);
        bpc.setApeMatPerNat(null);
        bpc.setApePatPerNat(null);
        bpc.setDniPerNat(null);
        bpc.setNomPerNat(null);
        bpc.setRazsocPerJur(null);
        bpc.setRucCliente(null);
        bpc.setTipoPersonaSeleccionada("NA");        
        return "busquedaAvanzada_desde_AgregarBenef";
    }

    public String busquedaAvanzadaColegiado() {
        BusquedaPersonasController bpc = (BusquedaPersonasController) getBean("busquedaPersonasController");
        bpc.setControladorSolicitante(4);
        bpc.setComboTipoHabilitado(false);
        bpc.setApeMatPerNat(null);
        bpc.setApePatPerNat(null);
        bpc.setDniPerNat(null);
        bpc.setNomPerNat(null);
        bpc.setRazsocPerJur(null);
        bpc.setRucCliente(null);
        bpc.setTipoPersonaSeleccionada("NA");
        bpc.setBuscarSoloColegiados(true);
        return "busquedaAvanzada";
    }

    public String grabarNuevaPersona() {
        personaConDniEncontrado = new PersonaNatural();
        PersonaNatural resBusPersona = delegadoPersonaNat.buscarXDni(personaNatural.getPerNroDNI());
        if (resBusPersona == null) {
            delegadoPersonaNat.create(personaNatural);
            dniIngresado = personaNatural.getPerNroDNI();
            beneficiarioFondoMortuorio.setPersonaBeneficiaria(personaNatural);
            ControladorAbstracto.info("Se creó con éxito la Persona");
            return "ir_nuevoBeneficiario";
        } else {
            personaConDniEncontrado = resBusPersona;
            ControladorAbstracto.error("El número de Dni de la Persona a crear ya existe. Ingrese otro Nº Dni.");
            return null;
        }


    }

    public String crearPersona() {
        personaNatural = new PersonaNatural();
        return "pageCrearPersona";
    }

    /**/
    public String grabarNuevaPersonaGeneral() {
        PersonaNatural resBusPersona = delegadoPersonaNat.buscarXDni(personaNatural.getPerNroDNI());
        if (resBusPersona == null) {
            delegadoPersonaNat.create(personaNatural);
            PersonaJuridicaController pjcontrollerCP = (PersonaJuridicaController) FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(), "personaJuridicaController");
            distritoCP=pjcontrollerCP.getDistrito();
            tipoZonaCP=pjcontrollerCP.getTipoZona();
            nombreZonaCP=pjcontrollerCP.getNombreZona();
            direccionCP=pjcontrollerCP.getDireccion();
            if (distritoCP!=null || tipoZonaCP!=null || nombreZonaCP!=null || direccionCP!=null){
                direccionPersona=new DireccionPersona();
                direccionPersona.setSolCodigo((Solicitante)personaNatural);
                direccionPersona.setDisCodigo(distritoCP);
                direccionPersona.setZonaCodigo(tipoZonaCP);
                direccionPersona.setDpenombreZona(nombreZonaCP);
                direccionPersona.setDpeDireccion(direccionCP);
                direccionPersona.setDpeActivo(true);
                delegadoDireccionPersona.create(direccionPersona);
            }
            ControladorAbstracto.info("Se creó con éxito la Persona");
        } else {
            ControladorAbstracto.error("El número de Dni de la Persona a crear ya existe. Ingrese otro Nº Dni.");
        }
        return null;
    }

    public String crearPersonaGeneral() {
        personaNatural = new PersonaNatural();
        PersonaJuridicaController pjc = (PersonaJuridicaController) ControladorAbstracto.getBean("personaJuridicaController");
        pjc.nuevoGeneral();
        return null;
    }


    /* * /

    /**
     * @return the BeneficiarioFondoMortuorio
     */
    public BeneficiarioFondoMortuorio getBeneficiarioFondoMortuorio() {
        return beneficiarioFondoMortuorio;
    }

    /**
     * @param BeneficiarioFondoMortuorio the BeneficiarioFondoMortuorio to set
     */
    public void setBeneficiarioFondoMortuorio(BeneficiarioFondoMortuorio BeneficiarioFondoMortuorio) {
        this.beneficiarioFondoMortuorio = BeneficiarioFondoMortuorio;
    }

    /**
     * @return the fondoMortuorio
     */
    public FondoMortuorio getFondoMortuorio() {
        return fondoMortuorio;
    }

    /**
     * @param fondoMortuorio the fondoMortuorio to set
     */
    public void setFondoMortuorio(FondoMortuorio fondoMortuorio) {
        this.fondoMortuorio = fondoMortuorio;
    }

    /**
     * @return the estadoSeleccionado
     */
    public EnumEstadoFondoMortuorio getEstadoSeleccionado() {
        return estadoSeleccionado;
    }

    /**
     * @param estadoSeleccionado the estadoSeleccionado to set
     */
    public void setEstadoSeleccionado(EnumEstadoFondoMortuorio estadoSeleccionado) {
        this.estadoSeleccionado = estadoSeleccionado;
    }

    /**
     * @return the numCIPIngresado
     */
    public String getNumCIPIngresado() {
        return numCIPIngresado;
    }

    /**
     * @param numCIPIngresado the numCIPIngresado to set
     */
    public void setNumCIPIngresado(String numCIPIngresado) {
        this.numCIPIngresado = numCIPIngresado;
    }

    /**
     * @return the numDNIIngresado
     */
    public String getNumDNIIngresado() {
        return numDNIIngresado;
    }

    /**
     * @param numDNIIngresado the numDNIIngresado to set
     */
    public void setNumDNIIngresado(String numDNIIngresado) {
        this.numDNIIngresado = numDNIIngresado;
    }

    /**
     * @return the formaBeneficioSeleccionado
     */
    public EnumBeneficioFondoMortuorio getFormaBeneficioSeleccionado() {
        return formaBeneficioSeleccionado;
    }

    /**
     * @param formaBeneficioSeleccionado the formaBeneficioSeleccionado to set
     */
    public void setFormaBeneficioSeleccionado(EnumBeneficioFondoMortuorio formaBeneficioSeleccionado) {
        this.formaBeneficioSeleccionado = formaBeneficioSeleccionado;
    }

    /**
     * @return the tipoBusquedaDNIoCIP
     */
    public int getTipoBusquedaDNIoCIP() {
        return tipoBusquedaDNIoCIP;
    }

    /**
     * @param tipoBusquedaDNIoCIP the tipoBusquedaDNIoCIP to set
     */
    public void setTipoBusquedaDNIoCIP(int tipoBusquedaDNIoCIP) {
        this.tipoBusquedaDNIoCIP = tipoBusquedaDNIoCIP;
    }

    /**
     * @return the dnioNroCipIngresado
     */
    public String getDnioNroCipIngresado() {
        return dnioNroCipIngresado;
    }

    /**
     * @param dnioNroCipIngresado the dnioNroCipIngresado to set
     */
    public void setDnioNroCipIngresado(String dnioNroCipIngresado) {
        this.dnioNroCipIngresado = dnioNroCipIngresado;
    }

   

    /**
     * @return the personaNatural
     */
    public PersonaNatural getPersonaNatural() {
        return personaNatural;
    }

    /**
     * @param personaNatural the personaNatural to set
     */
    public void setPersonaNatural(PersonaNatural personaNatural) {
        this.personaNatural = personaNatural;
    }

    /**
     * @return the dniIngresado
     */
    public String getDniIngresado() {
        return dniIngresado;
    }

    /**
     * @param dniIngresado the dniIngresado to set
     */
    public void setDniIngresado(String dniIngresado) {
        this.dniIngresado = dniIngresado;
    }

    /**
     * @return the listaBeneficiarioFondoMortuorios
     */
    public List<BeneficiarioFondoMortuorio> getListaBeneficiarioFondoMortuorios() {
        return listaBeneficiarioFondoMortuorios;
    }

    /**
     * @param listaBeneficiarioFondoMortuorios the listaBeneficiarioFondoMortuorios to set
     */
    public void setListaBeneficiarioFondoMortuorios(List<BeneficiarioFondoMortuorio> listaBeneficiarioFondoMortuorios) {
        this.listaBeneficiarioFondoMortuorios = listaBeneficiarioFondoMortuorios;
    }

    /**
     * @return the filtroNombreColegiado
     */
    public String getFiltroNombreColegiado() {
        return filtroNombreColegiado;
    }

    /**
     * @param filtroNombreColegiado the filtroNombreColegiado to set
     */
    public void setFiltroNombreColegiado(String filtroNombreColegiado) {
        this.filtroNombreColegiado = filtroNombreColegiado;
    }

    /**
     * @return the personaConDniEncontrado
     */
    public PersonaNatural getPersonaConDniEncontrado() {
        return personaConDniEncontrado;
    }

    /**
     * @param personaConDniEncontrado the personaConDniEncontrado to set
     */
    public void setPersonaConDniEncontrado(PersonaNatural personaConDniEncontrado) {
        this.personaConDniEncontrado = personaConDniEncontrado;
    }

    /**
     * @return the tipoPersona
     */
    public int getTipoPersona() {
        return tipoPersona;
    }

    /**
     * @param tipoPersona the tipoPersona to set
     */
    public void setTipoPersona(int tipoPersona) {
        this.tipoPersona = tipoPersona;
    }

    /**
     * @return the colegiadoEncontrado
     */
    public Colegiado getColegiadoEncontrado() {
        return colegiadoEncontrado;
    }

    /**
     * @param colegiadoEncontrado the colegiadoEncontrado to set
     */
    public void setColegiadoEncontrado(Colegiado colegiadoEncontrado) {
        this.colegiadoEncontrado = colegiadoEncontrado;
    }

   
    /**
     * @return the distrito
     */
    public Distrito getDistritoCP() {
        return distritoCP;
    }

    /**
     * @param distrito the distrito to set
     */
    public void setDistritoCP(Distrito distritoCP) {
        this.distritoCP = distritoCP;
    }

    /**
     * @return the tipoZona
     */
    public TipoZona getTipoZonaCP() {
        return tipoZonaCP;
    }

    /**
     * @param tipoZona the tipoZona to set
     */
    public void setTipoZonaCP(TipoZona tipoZonaCP) {
        this.tipoZonaCP = tipoZonaCP;
    }

    /**
     * @return the nombreZona
     */
    public String getNombreZonaCP() {
        return nombreZonaCP;
    }

    /**
     * @param nombreZona the nombreZona to set
     */
    public void setNombreZonaCP(String nombreZonaCP) {
        this.nombreZonaCP = nombreZonaCP;
    }

    /**
     * @return the direccion
     */
    public String getDireccionCP() {
        return direccionCP;
    }

    /**
     * @param direccion the direccion to set
     */
    public void setDireccionCP(String direccionCP) {
        this.direccionCP = direccionCP;
    }

   
    
}
